#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
struct contatto{
string nome;
string cognome;
int numero;
contatto *next;
};
int inseriscitesta(contatto *testa)
{
//dichiarazioni
contatto *nuovo;
string nomeF, cognomeF;
int numeroF;
//inserimento utente
cout << "inserisci nome: "<< endl;
cin >> nomeF;
cout << "inserisci cognome: "<< endl;
cin >> cognomeF;
cout << "inserisci numero: "<< endl;
cin >> numeroF;
cout << numeroF;
//riempi nuovo
nuovo->nome=nomeF;
nuovo->cognome=cognomeF;
nuovo->numero= numeroF;
nuovo->next= testa;
//modifico la testa
testa=nuovo;
return 0;
}
void stampalista (contatto *testa)
{
contatto *testa2;
testa2=testa;
for(;testa2!=NULL;testa2=testa2->next)
cout << testa2->nome << endl << testa2->cognome << endl << testa2->numero << endl;
}
int main(int argc, char** argv) {
contatto *testa; // puo volerci l'asterisco perchè punta all'inizio della lista
testa=NULL;
char uscita='n';
int scelta;
while(uscita=='n' || uscita=='N')
{
cout << "________________________________________" << endl
<< "crea la tua rubrica di numeri telefonici" << endl
<< "________________________________________" << endl
<< "MENU:" << endl
<< "1-Crea un nuovo contatto." << endl
<< "2-Elimina l'ultimo conttatto." << endl
<< "3-Stampa la lista." << endl
<< "4-chiudi il programma." << endl
<< "________________________________________" << endl<< endl;
cout << "inserisci la tua scelta sotto forma di numero." << endl;
cin >> scelta;
switch(scelta)
{
case 1:
{
inseriscitesta(testa);
break;
}
case 2:
{
break;
}
case 3:
{
stampalista(testa);
break;
}
case 4:
{
cout << "sei sicuro di vole chiudere il programma? y/n" << endl;
cin >> uscita;
break;
}
}
}
system("pause");
return 0;
}